package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单操作对象 erp_order_info
 * 
 * @author ruoyi
 * @date 2025-03-08
 */
public class ErpOrderInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单id */
    private Long id;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderNumber;

    /** 订单类型(0单件/1组合件/2调用囤货/3囤货) */
    @Excel(name = "订单类型(0单件/1组合件/2调用囤货/3囤货)")
    private Long orderType;

    /** 订单状态(0已出货/1待出货) */
    @Excel(name = "订单状态(0已出货/1待出货)")
    private Long orderStatus;

    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderCreateTime;

    /** 入库状态(0全部入库/1部分入库/2未入库) */
    @Excel(name = "入库状态(0全部入库/1部分入库/2未入库)")
    private Long storeStatus;

    /** 入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date storeTime;

    /** 打包状态(0已打包/1未打包) */
    @Excel(name = "打包状态(0已打包/1未打包)")
    private Long packStatus;

    /** 打包时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "打包时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date packTime;

    /** 出库状态(0已出库/1未出库) */
    @Excel(name = "出库状态(0已出库/1未出库)")
    private Long outboundStatus;

    /** 出库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outboundTime;

    /** 盘点状态(0已盘点/1未盘点) */
    @Excel(name = "盘点状态(0已盘点/1未盘点)")
    private Long stocktakingStatus;

    /** 盘点时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "盘点时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date stocktakingTime;

    /** 申请寄件(0已申请/1未申请) */
    @Excel(name = "申请寄件(0已申请/1未申请)")
    private Long sendStatus;

    /** 寄件时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "寄件时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sendTime;

    /** 用户名称(真实姓名) */
    @Excel(name = "用户名称(真实姓名)")
    private String userName;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setOrderNumber(String orderNumber) 
    {
        this.orderNumber = orderNumber;
    }

    public String getOrderNumber() 
    {
        return orderNumber;
    }
    public void setOrderType(Long orderType) 
    {
        this.orderType = orderType;
    }

    public Long getOrderType() 
    {
        return orderType;
    }
    public void setOrderStatus(Long orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public Long getOrderStatus() 
    {
        return orderStatus;
    }
    public void setOrderCreateTime(Date orderCreateTime) 
    {
        this.orderCreateTime = orderCreateTime;
    }

    public Date getOrderCreateTime() 
    {
        return orderCreateTime;
    }
    public void setStoreStatus(Long storeStatus) 
    {
        this.storeStatus = storeStatus;
    }

    public Long getStoreStatus() 
    {
        return storeStatus;
    }
    public void setStoreTime(Date storeTime) 
    {
        this.storeTime = storeTime;
    }

    public Date getStoreTime() 
    {
        return storeTime;
    }
    public void setPackStatus(Long packStatus) 
    {
        this.packStatus = packStatus;
    }

    public Long getPackStatus() 
    {
        return packStatus;
    }
    public void setPackTime(Date packTime) 
    {
        this.packTime = packTime;
    }

    public Date getPackTime() 
    {
        return packTime;
    }
    public void setOutboundStatus(Long outboundStatus) 
    {
        this.outboundStatus = outboundStatus;
    }

    public Long getOutboundStatus() 
    {
        return outboundStatus;
    }
    public void setOutboundTime(Date outboundTime) 
    {
        this.outboundTime = outboundTime;
    }

    public Date getOutboundTime() 
    {
        return outboundTime;
    }
    public void setStocktakingStatus(Long stocktakingStatus) 
    {
        this.stocktakingStatus = stocktakingStatus;
    }

    public Long getStocktakingStatus() 
    {
        return stocktakingStatus;
    }
    public void setStocktakingTime(Date stocktakingTime) 
    {
        this.stocktakingTime = stocktakingTime;
    }

    public Date getStocktakingTime() 
    {
        return stocktakingTime;
    }
    public void setSendStatus(Long sendStatus) 
    {
        this.sendStatus = sendStatus;
    }

    public Long getSendStatus() 
    {
        return sendStatus;
    }
    public void setSendTime(Date sendTime) 
    {
        this.sendTime = sendTime;
    }

    public Date getSendTime() 
    {
        return sendTime;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderNumber", getOrderNumber())
            .append("orderType", getOrderType())
            .append("orderStatus", getOrderStatus())
            .append("orderCreateTime", getOrderCreateTime())
            .append("storeStatus", getStoreStatus())
            .append("storeTime", getStoreTime())
            .append("packStatus", getPackStatus())
            .append("packTime", getPackTime())
            .append("outboundStatus", getOutboundStatus())
            .append("outboundTime", getOutboundTime())
            .append("stocktakingStatus", getStocktakingStatus())
            .append("stocktakingTime", getStocktakingTime())
            .append("sendStatus", getSendStatus())
            .append("sendTime", getSendTime())
            .append("userName", getUserName())
            .toString();
    }
}
